<?php

/*
 * 广告
 */

class CommonMode extends SiteMode {

    /** @return CommonMode */
    public static function init() {
        return parent::init();
    }

    /**
     * 获得指定国家的所有省份
     *
     * @access      public
     * @param       int     country    国家的编号
     * @return      array
     */
    public function get_regions($type = 0, $parent = 0) {
        $sql = "SELECT region_id, region_name FROM region WHERE region_type =? AND parent_id = ? ";
        return $this->db->getAll($sql, $type, $parent);
    }
    
    public function get_regionid($region_name,$region_type){
        $sql = "SELECT region_id FROM region WHERE region_type =? AND region_name = ? ";
        return $this->db->getOne($sql,$region_type, $region_name);
    }
    
//    public function add(){
//         $sql="select region_id from region ";
//         $result=$this->db->getAll($sql);
//         foreach($result as $k=>$v){
//             $region_id=$v['region_id'];
//             $sql="insert into site (region_id) values ($region_id)";
//             $this->db->query($sql);
//         }
//         
//    }

//获取ip
    function GetIp() {
        $realip = '';
        $unknown = 'unknown';
        if (isset($_SERVER)) {
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)) {
                $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                foreach ($arr as $ip) {
                    $ip = trim($ip);
                    if ($ip != 'unknown') {
                        $realip = $ip;
                        break;
                    }
                }
            } else if (isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SERVER['HTTP_CLIENT_IP'], $unknown)) {
                $realip = $_SERVER['HTTP_CLIENT_IP'];
            } else if (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)) {
                $realip = $_SERVER['REMOTE_ADDR'];
            } else {
                $realip = $unknown;
            }
        } else {
            if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), $unknown)) {
                $realip = getenv("HTTP_X_FORWARDED_FOR");
            } else if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), $unknown)) {
                $realip = getenv("HTTP_CLIENT_IP");
            } else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), $unknown)) {
                $realip = getenv("REMOTE_ADDR");
            } else {
                $realip = $unknown;
            }
        }
        $realip = preg_match("/[\d\.]{7,15}/", $realip, $matches) ? $matches[0] : $unknown;
        return $realip;
    }

    function GetIpLookup($ip = '') {
        if (empty($ip)) {
            $ip = $this->GetIp();
        }
        $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);
        if (empty($res)) {
            return false;
        }
        $jsonMatches = array();
        preg_match('#\{.+?\}#', $res, $jsonMatches);
        if (!isset($jsonMatches[0])) {
            return false;
        }
        $json = json_decode($jsonMatches[0], true);
        if (isset($json['ret']) && $json['ret'] == 1) {
            $json['ip'] = $ip;
            unset($json['ret']);
        } else {
            return false;
        }
        return $json;
    }
    
    //获取site表中的数据    
    function get_site(){
        $sql = "SELECT id,name FROM site ";
        $result=$this->db->getAll($sql);
        return $result;
    }
    
    //获取site表中的数据    
    function get_sitename(){
        $sql = "SELECT name FROM site where id=? ";
        $result=$this->db->getValue($sql,$this->siteId);
        return $result;
    }
    
}
